package main

import (
	"fmt"
	"gameServer/etc/flag" // 导入自定义flag包（替换为实际包路径）
	"time"
)

// go run .\main.go -env=dev -port 8080 -debug -timeout=30s
func main() {
	// 1. 获取字符串类型参数（如命令行传入 -env=dev）
	// 方法：flag.String(参数名, 默认值)
	env := flag.String("gate.server", "prod")

	// 2. 获取整数类型参数（如命令行传入 -port 8080）
	port := flag.Int("gate.server.port", 80)

	// 3. 获取布尔类型参数（如命令行传入 -debug，无需值，默认true）
	debug := flag.Bool("debug", false)

	// 4. 获取时间周期参数（如命令行传入 -timeout=30s）
	timeout := flag.Duration("timeout", 10*time.Second)

	// 5. 检查参数是否存在（如命令行是否传入 -log）
	hasLog := flag.Has("log")

	// 打印获取到的参数值
	fmt.Println("===== 解析到的命令行参数 =====")
	fmt.Printf("运行环境: %s（默认值：prod）\n", env)
	fmt.Printf("服务端口: %d（默认值：80）\n", port)
	fmt.Printf("调试模式: %v（默认值：false）\n", debug)
	fmt.Printf("超时时间: %v（默认值：10s）\n", timeout)
	fmt.Printf("是否开启日志: %v（未传入则为false）\n", hasLog)
}
